package com.linkgie.galaxyframework.metadata.structure;

import javax.validation.constraints.NotBlank;

import com.linkgie.galaxyframework.metadata.Aggregate;
import com.linkgie.galaxyframework.metadata.DataEntity;
import com.linkgie.galaxyframework.metadata.DataField;
import com.linkgie.galaxyframework.metadata.DataInterface;

/**
 * 聚合关系元数据；
 * 
 * @author huanghaiquan
 *
 */
@DataInterface
@DataEntity
public class AggregateMetadata implements Aggregate {

	/**
	 * TODO：引用 {@link DataModelMetadata}；
	 */
	@NotBlank
	@DataField(name = "外键类型", order = 0)
	private String model;

	/**
	 * TODO：引用 {@link DataInterfaceMetadata}；
	 */
	@NotBlank
	@DataField(name = "外键接口", order = 1)
	private String interfase;

	/**
	 * TODO：引用 {@link DataInterfaceMetadata}；
	 */
	@DataField(name = "条件接口", order = 2)
	private String conditionInterface;

	/**
	 * TODO：引用 {@link DataInterfaceMetadata}；
	 */
	@DataField(name = "外键字段", order = 3)
	private String foreignKey;

	/**
	 * TODO：引用 {@link DataInterfaceMetadata}；
	 */
	@DataField(name = "标题字段", order = 4)
	private String labelKey;

//	private String cascadeKey;

	@Override
	public String getModel() {
		return model;
	}

	public void setModel(String model) {
		this.model = model;
	}

	@Override
	public String getInterfase() {
		return interfase;
	}

	public void setInterfase(String interfase) {
		this.interfase = interfase;
	}

	@Override
	public String getConditionInterface() {
		return conditionInterface;
	}

	public void setConditionInterface(String conditionInterface) {
		this.conditionInterface = conditionInterface;
	}

	@Override
	public String getForeignKey() {
		return foreignKey;
	}

	public void setForeignKey(String foreignKey) {
		this.foreignKey = foreignKey;
	}

	@Override
	public String getLabelKey() {
		return labelKey;
	}

	public void setLabelKey(String labelKey) {
		this.labelKey = labelKey;
	}

//	public String getCascadeKey() {
//		return cascadeKey;
//	}
//
//	public void setCascadeKey(String cascadeKey) {
//		this.cascadeKey = cascadeKey;
//	}

}
